
function getAllProperty {
    @{} | Get-Member | Where-Object MemberType -eq Property | Select Name
}

function iter {
    $products = @{
        serviceExtend = @{
     
        } ;
     
        desktop = @{
     
        };
        service = @{
     
        };
        test = @{
            name = 1
        }
     }
    foreach ($key in $products.Keys) {
       $key
       $products[$key]
    }

    Write-Host $products["test"].Values   "--1.1"
    $products["test"].Remove("name")
    Write-Host $products["test"].Values   "--1-2"

}

iter